// 引入项目中的所有全局组件
import SvgIcon from './SvgIcon/index.vue';
// 引入分类组件
import Category from '@/components/Category/index.vue'

// 全局组件对象（Record是TS的工具类，根据配置生成一个对象类型）
const globalComponent: Record<string, unknown> = { SvgIcon, Category };

// 引入 element-plus 提供的全部图标组件
import * as ElementPlusIconsVue from '@element-plus/icons-vue';
console.log("全部图标组件对象", ElementPlusIconsVue);

// 对外暴露插件对象
export const elePlugin = {
    install(app: any) {
        // 将组件注册成全局组件
        Object.keys(globalComponent).forEach((key: string) => {
            app.component(key, globalComponent[key]);
        })
        // 将所有图标注册成全局图标（Object.entries的返回值是一个二维数组）
        for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
            app.component(key, component);
        }
    }
}